html {
  background-color: #222222;
  color: #aaaaaa;
}
body {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.container div {
  padding: 10px 0;
  margin: 10px 0;
  border-bottom: 1px solid #333;
}
label {
  position: relative;
  width: 100%;
  font-weight: 300;
  font-size: 1.45em;
  cursor: pointer;
  transition: all 0.25s linear;
  -webkit-transition: all 0.25s linear;
  display: flex;
  align-items: center;
}
input {
  display: none;
}
label:hover {
  color: #ffffff;
}
label::before {
  display: inline-block;
  content: "";
  height: 25px;
  width: 25px;
  border: 5px solid #aaaaaa;
  border-radius: 100%;
  margin-right: 20px;
  transition: border-color 0.25s linear;
}
label:hover::before {
  border-color: #ffffff;
}
label::after {
  content: "";
  border: 7.5px solid #222222;
  border-radius: 100%;
  position: absolute;
  left: 10px;
  transition: border-color 0.25s linear;
}

input[type="radio"]:checked + label {
  color: #0dff92;
}
input[type="radio"]:checked + label::before,
input[type="radio"]:checked + label::after {
  border-color: #0dff92;
}
